package com.hackordie.commons.hardware.computer;

import java.util.List;

import com.hackordie.commons.hardware.components.AComponent;
import com.hackordie.constants.EComponentsType;

public interface IComputer {

    // getters
    public List<AComponent> getComponentsList();
    public AComponent getComponentByName(String name);
    public List<AComponent> getComponentByType(EComponentsType type);
    public int getAvailableEnergy();
    
    //functions
    public boolean addComponent(AComponent component);
    public void removeComponentByName(String name);
    public void removeComponentsByType(EComponentsType type);    
    public void removeAllComponents();
    public int getAvailableProcessorCapacity();    
}
